import type { VNode } from "vue";
import type { ComponentType, LazyComponent } from "@/framework/vue/types.ts";

export interface DockMenuItem {
  key: string;
  icon: VNode;
  name: string;
  component?: ComponentType | LazyComponent;
  onClick?: () => void;
  bottom?: boolean;
}

export interface PageSiderMenuGroup {
  key: string;
  name: string;
  type: "group";
  children: PageSiderMenuItem[];
}

export interface PageSiderMenuItem {
  key: string;
  name: string;
  icon?: VNode;
  external?: string;
  onClick?: () => void;
  component?: ComponentType;
  children?: PageSiderMenuItem[];
}
